//
// File  : CustomerProfile.h
// Team  : Dangling Pointers
// Class : CST 236 - Software Testing
//
// Header file for the CustomerProfile class.
// This class manages the CustomerProfileController
// 
//

#ifndef CUSTOMERPROFILE_H
#define CUSTOMERPROFILE_H

#include "Controller.h"
#include "CustomerDatabase.h"

class CustomerProfileController : public Controller 
{
public:

	CustomerProfileController(CustomerDatabase*);

private:

	CustomerDatabase* m_customerdatabase;

	void displayMenu();
	void editProfile();
	void createProfile();
	void viewProfile() const;
	void promptEdit(const std::string&);
	bool validatePhoneNumber(const std::string&);
	bool validateEmailAddress(const std::string&);

	//
	// @overrided
	// copy constructor and operator= to prevent copying!
	//
	CustomerProfileController(const CustomerProfileController&);
	CustomerProfileController& operator=(const CustomerProfileController&);
};

#endif